/*
 * @Description:
 * @Project:
 * @Author: michelle
 * @Date: 2022-02-22 13:57:34
 * @LastEditors: Please set LastEditors
 * @lastTime: 2022-02-24 11:12:11
 * @Modified By: michelle
 * @文件相对于项目的路径: /trunkverse/vite.config.js
 */

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import vitePluginImp from 'vite-plugin-imp';
import * as path from 'path';

// const px2vw = require('postcss-px-to-viewport');

export default defineConfig({
  plugins: [
    react(),
    //antd 按需加载
    vitePluginImp({
      libList: [
        {
          libName: 'antd',
          style: (name) => `antd/lib/${name}/style/index.less`,
        },
      ],
    }),
  ],
  css: {
    preprocessorOptions: {
      less: {
        // 支持内联js
        javascriptEnabled: true,
        // 重写 less 变量，定制样式
        modifyVars: {
          // '@primary-color': 'red',
        },
      },
    },
    postcss: {
      plugins: [
        require('postcss-px-to-viewport')({
          unitToConvert: 'px',
          viewportWidth: 1920,
          viewportHeight: 1080, // 视窗的高度
          unitPrecision: 6, // 转换后的精度，即小数点位数
          propList: ['*'],
        }),
      ],
    },
  },
  //配置路径别名
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src'),
    },
  },
  //配置请求代理
  server: {
    // host: 'localhost',
    // https: false, //是否启用 http 2
    // cors: true, //为开发服务器配置 CORS , 默认启用并允许任何源
    open: true, //服务启动时自动在浏览器中打开应用
    // strictPort: false, //设为true时端口被占用则直接退出，不会尝试下一个可用端口
    // force: false, //是否强制依赖预构建
    // hmr: false, //禁用或配置 HMR 连接
    // port: 3000,
    // proxy: {
    //   "/api": {
    //       target: "http://127.0.0.1:5000",
    //       changeOrigin: true,
    //       cookieDomainRewrite: "",
    //       secure: false,
    //   }
    // },
  },
});
